home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1985-02-21 | 21.8 KB | 983 lines |
- 10 SCREEN 1,0:COLOR 8,0: KEY OFF: CLS
- 15 DEF FNCEN$(V$,X)=SPACE$((X-LEN(V$))/2)+V$
- 20 LOCATE 12,1:PRINT FNCEN$("SAMURAI HELMET/GROUPER",40)
- 25 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
- 30 PRINT FNCEN$("(C) COPYRIGHT 1985 George Furiya",40)
- 35 PRINT FNCEN$("All Rights Reserved",40)
- 40 FOR K=1 TO 3500:NEXT K
- 45 CLS
- 50 LOCATE 10,1:PRINT FNCEN$("We will first fold SAMURAI HELMET",40)
- 55 FOR K=1 TO 2000:NEXT K
- 60 PRINT:PRINT FNCEN$("and then transform HELMET into GROUPER.",40)
- 65 FOR K=1 TO 2500:NEXT K
- 70 PRINT:PRINT FNCEN$("What's a GROUPER?",40)
- 75 FOR K=1 TO 1500:NEXT K
- 80 PRINT:PRINT:PRINT FNCEN$("You'll see.",40)
- 85 FOR K=1 TO 1500:NEXT K
- 90 CLS
- 95 LOCATE 12,1
- 100 PRINT FNCEN$("One moment, please.",40)
- 105 FOR K=1 TO 1500:NEXT K
- 110 '***Zapsound***
- 115 FOR A=0 TO 20
- 120 OUT 66,A:OUT 66,A
- 125 OUT 97,(INP(97) OR 3)
- 130 NEXT A
- 135 SOUND 37,0
- 140 CLS
- 145 FOR K=1 TO 250:NEXT K
- 150 LINE(160,30)-(240,100)
- 155 LINE-(160,170)
- 160 LINE-(80,100)
- 165 LINE-(160,30)
- 170 FOR K=1 TO 750:NEXT K
- 175 GOSUB 30000 '** Textpad **
- 180 PRINT FNCEN$("Here's our first fold.",40)
- 185 FOR K=1 TO 1500:NEXT K
- 190 FOR H=80 TO 240 STEP 2
- 195 PSET(H,100)
- 200 NEXT H
- 205 FOR K=1 TO 750:NEXT K
- 210 FOR V=30 TO 100
- 215 LINE(80,100)-(160,V),3
- 220 LINE-(240,100),3
- 225 LINE(80,100)-(160,V),0
- 230 LINE-(240,100),0
- 235 NEXT V
- 240 FOR V=100 TO 170
- 245 LINE(80,100)-(160,V),3
- 250 LINE-(240,100),3
- 255 NEXT V
- 260 GOSUB 30000 '*** Textpad ***
- 265 PRINT FNCEN$("Press <C> to continue.",40)
- 270 A$=INKEY$:IF A$="" GOTO 270
- 275 IF A$="C" OR A$="c" GOTO 285
- 280 GOTO 260
- 285 GOSUB 30000 '** Textpad **
- 290 PRINT FNCEN$("These corners",40)
- 295 FOR K=1 TO 1500:NEXT K
- 300 '*** arrow right ***
- 305 FOR K=1 TO 15
- 310 PSET(72,100):DRAW"H5D4L7D2R7D4E5"
- 315 PAINT(66,100)
- 320 PSET(248,100):DRAW"E5D4R7D2L7D4H5"
- 325 PAINT(254,100)
- 330 'FOR M=1 TO 25:NEXT M
- 335 CIRCLE(66,100),7,0
- 340 PAINT(66,100),0
- 345 CIRCLE(254,100),7,0
- 350 PAINT(254,100),0
- 355 NEXT K
- 360 '***end arrow right ***
- 365 FOR K=1 TO 250:NEXT K
- 370 GOSUB 30000 '** Textpad **
- 375 PRINT FNCEN$("fold down to this corner",40)
- 380 FOR K=1 TO 750:NEXT K
- 385 '*** arrow up ***
- 390 FOR K=1 TO 15
- 395 PSET(160,178):DRAW"g5r4d7r2u7r4h5"
- 400 PAINT(160,184)
- 405 FOR M=1 TO 25:NEXT M
- 410 CIRCLE(160,184),7,0
- 415 PAINT(160,184),0
- 420 NEXT K
- 425 FOR K=1 TO 750:NEXT K
- 430 GOSUB 30000 '** Textpad **
- 435 PRINT FNCEN$("across these lines,",40)
- 440 FOR K=1 TO 1000:NEXT K
- 445 CIRCLE(160,184),7,0
- 450 PAINT(160,184),0
- 455 LINE(120,135)-(160,100),0
- 460 LINE-(200,135),0
- 465 FOR K=1 TO 750:NEXT K
- 470 GOSUB 30000 '** Textpad **
- 475 PRINT FNCEN$("SO!",40)
- 480 FOR K=1 TO 1000:NEXT K
- 485 FOR Q=0 TO 40
- 490 LINE(160,100)-(80+Q,100+0.875*Q),0
- 495 LINE(160,99)-(80+Q,99+0.875*Q),0
- 500 FOR M=1 TO 50:NEXT M
- 505 NEXT Q
- 510 FOR Q=0 TO 40
- 515 LINE(160,100)-(120+Q,135+0.875*Q),0
- 520 LINE(160,99)-(120+Q,134+0.875*Q),0
- 525 LINE(160,100)-(120+Q,135+0.875*Q),3
- 530 LINE(160,99)-(120+Q,134+0.875*Q),3
- 535 FOR M=1 TO 50:NEXT M
- 540 NEXT Q
- 545 LINE(160,100)-(160,170),0
- 550 FOR K=1 TO 250:NEXT K
- 555 FOR Q=0 TO 40
- 560 LINE(160,100)-(240-Q,100+0.875*Q),0
- 565 LINE(160,99)-(240-Q,99+0.875*Q),0
- 570 FOR M=1 TO 50:NEXT M
- 575 NEXT Q
- 580 FOR Q=0 TO 40
- 585 LINE(160,100)-(200-Q,135+0.875*Q),0
- 590 LINE(160,99)-(200-Q,134+0.875*Q),0
- 595 LINE(160,100)-(200-Q,135+0.875*Q),3
- 600 LINE(160,99)-(200-Q,134+0.875*Q),3
- 605 FOR M=1 TO 50:NEXT M
- 610 NEXT Q
- 615 LINE(160,100)-(160,170),0
- 620 FOR K=1 TO 750:NEXT K
- 625 GOSUB 30000 '** Textpad **
- 630 PRINT FNCEN$("Now, I'll change scale.",40)
- 635 FOR K=1 TO 1500:NEXT K
- 640 GOSUB 30000 '** Textpad **
- 645 PRINT FNCEN$("One moment, please.",40)
- 650 FOR K=1 TO 1500:NEXT K
- 655 '***Zapsound***
- 660 FOR A=0 TO 20
- 665 OUT 66,A:OUT 66,A
- 670 OUT 97,(INP(97) OR 3)
- 675 NEXT A
- 680 SOUND 37,0
- 685 CLS
- 690 FOR K=1 TO 250:NEXT K
- 695 LINE(160,30)-(80,100)
- 700 LINE-(160,170)
- 705 LINE-(240,100)
- 710 LINE-(160,30)
- 715 PAINT(160,100)
- 720 LINE(160,30)-(160,170),0
- 725 GOSUB 30000 '*** Textpad ***
- 730 PRINT FNCEN$("Press <C> to continue.",40)
- 735 A$=INKEY$:IF A$="" GOTO 735
- 740 IF A$="C" OR A$="c" GOTO 745
- 745 GOSUB 30000 '** Textpad **
- 750 PRINT FNCEN$("These flaps",40)
- 755 FOR K=1 TO 750:NEXT K
- 760 LINE(150,160)-(170,160),0
- 765 LINE-(165,150),0
- 770 LINE-(160,160),0
- 775 LINE-(155,150),0
- 780 LINE-(150,160),0
- 785 FOR K=1 TO 250:NEXT K
- 790 FOR K=1 TO 15
- 795 PSET(160,178):DRAW"g5r4d7r2u7r4h5"
- 800 PAINT(160,184)
- 805 FOR M=1 TO 25:NEXT M
- 810 CIRCLE(160,184),7,0
- 815 PAINT(160,184),0
- 820 NEXT K
- 825 FOR K=1 TO 250:NEXT K
- 830 GOSUB 30000 '** Textpad **
- 835 PRINT FNCEN$("fold across this line",40)
- 840 FOR K=1 TO 750:NEXT K
- 845 FOR H=80 TO 240 STEP 2
- 850 PSET(H,100),0
- 855 NEXT H
- 860 FOR K=1 TO 750:NEXT K
- 865 GOSUB 30000 '** Textpad **
- 870 PRINT FNCEN$("up to here,",40)
- 875 FOR K=1 TO 750:NEXT K
- 880 '*** arrow down ***
- 885 FOR K=1 TO 15
- 890 PSET(160,22):DRAW"E5L4U7L2D7L4F5"
- 895 PAINT(160,16)
- 900 FOR M=1 TO 25:NEXT M
- 905 CIRCLE(160,16),7,0
- 910 PAINT(160,16),0
- 915 NEXT K
- 920 '***end arrow down ***
- 925 FOR K=1 TO 750:NEXT K
- 930 GOSUB 30000 '** Textpad **
- 935 PRINT FNCEN$("THUS!",40)
- 940 FOR K=1 TO 750:NEXT K
- 945 LINE(150,160)-(170,160)
- 950 LINE-(165,150)
- 955 LINE-(160,160)
- 960 LINE-(155,150)
- 965 LINE-(150,160)
- 970 LINE(160,150)-(160,170),0
- 975 FOR V=169 TO 100 STEP -1
- 980 LINE(239,100)-(161,V-1),0
- 985 LINE(240,100)-(161,V),0
- 990 LINE(240,100)-(161,V),3
- 995 NEXT V
- 1000 FOR V=100 TO 32 STEP -1
- 1005 LINE(239,100)-(161,V-1),0
- 1010 LINE(240,100)-(161,V),0
- 1015 LINE(239,100)-(161,V-1),3
- 1020 LINE(240,100)-(161,V),3
- 1025 LINE(161,100)-(240,100),0
- 1030 NEXT V
- 1035 FOR K=1 TO 750:NEXT K
- 1040 FOR V=169 TO 100 STEP -1
- 1045 LINE(81,100)-(160,V-1),0
- 1050 LINE(80,100)-(160,V),0
- 1055 LINE(80,100)-(160,V),3
- 1060 NEXT V
- 1065 FOR V=100 TO 32 STEP -1
- 1070 LINE(81,100)-(160,V-1),0
- 1075 LINE(80,100)-(160,V),0
- 1080 LINE(81,100)-(160,V-1),3
- 1085 LINE(80,100)-(160,V),3
- 1090 LINE(80,100)-(240,100),0
- 1095 LINE(160,30)-(160,100),0
- 1100 NEXT V
- 1105 FOR K=1 TO 750:NEXT K
- 1110 GOSUB 30000 '*** Textpad ***
- 1115 PRINT FNCEN$("Press <C> to continue.",40)
- 1120 A$=INKEY$:IF A$="" GOTO 1120
- 1125 IF A$="C" OR A$="c" GOTO 1135
- 1130 GOTO 1110
- 1135 GOSUB 30000 '** Textpad **
- 1140 PRINT FNCEN$("Execute the next folds so that this edge",40)
- 1145 FOR K=1 TO 2000:NEXT K
- 1150 LINE(160,100)-(183,50),0
- 1155 FOR K=1 TO 250:NEXT K
- 1160 PSET(179,40):DRAW"u5f2e5f2g5f2l6"
- 1165 PAINT(183,36)
- 1170 FOR K=1 TO 750:NEXT K
- 1175 FOR K=1 TO 25
- 1180 LINE(160,30)-(183,50),3
- 1185 LINE(161,31)-(182,50),3
- 1190 FOR M=1 TO 25:NEXT M
- 1195 LINE(160,30)-(183,50),2
- 1200 LINE(161,31)-(182,50),2
- 1205 NEXT K
- 1210 CIRCLE(183,37),7,0
- 1215 PAINT(183,37),0
- 1220 GOSUB 30000 '** Textpad **
- 1225 PRINT FNCEN$("ends up parallel to this center line,",40)
- 1230 FOR K=1 TO 2000:NEXT K
- 1235 FOR K=1 TO 25
- 1240 LINE(80,100)-(240,100),3
- 1245 FOR M=1 TO 25:NEXT M
- 1250 LINE(80,100)-(240,100),2
- 1255 NEXT K
- 1260 FOR K=1 TO 750:NEXT K
- 1265 GOSUB 30000 '** Textpad **
- 1270 PRINT FNCEN$("SO!",40)
- 1275 FOR K=1 TO 250:NEXT K
- 1280 'LINE(160,30)-(183,50),3
- 1285 'LINE(161,31)-(182,50),3
- 1290 FOR K=1 TO 250:NEXT K
- 1295 FOR Q=0 TO 23
- 1300 LINE(160,100)-(160+Q,30+0.87*Q),0
- 1305 LINE(160,100)-(160+Q,30+0.87*Q),3
- 1310 LINE(160,30)-(160,100),0
- 1315 FOR M=1 TO 50:NEXT M
- 1320 NEXT Q
- 1325 FOR H=183 TO 215
- 1330 LINE(160,100)-(H,50),0
- 1335 LINE(160,100)-(H,50),3
- 1340 LINE(160,100)-(183,50),0
- 1345 FOR M=1 TO 50:NEXT M
- 1350 NEXT H
- 1355 LINE(160,100)-(215,50),0
- 1360 LINE(184,50)-(214,50),2
- 1365 FOR K=1 TO 250:NEXT K
- 1370 GOSUB 30000 '** Textpad **
- 1375 PRINT FNCEN$("Parallel?",40)
- 1380 FOR K=1 TO 1500:NEXT K
- 1385 GOSUB 30000 '** Textpad **
- 1390 PRINT FNCEN$("Parallel!",40)
- 1395 FOR K=1 TO 1500:NEXT K
- 1400 LINE(80,100)-(240,100),0
- 1405 LINE(184,50)-(214,50)
- 1410 GOSUB 30000 '** Textpad **
- 1415 PRINT FNCEN$("Repeat on the other side.",40)
- 1420 FOR K=1 TO 750:NEXT K
- 1425 LINE(160,100)-(137,50),0
- 1430 FOR K=1 TO 750:NEXT K
- 1435 FOR Q=0 TO 23
- 1440 LINE(160,100)-(160-Q,30+0.87*Q),0
- 1445 LINE(160,100)-(160-Q,30+0.87*Q),3
- 1450 LINE(160,30)-(160,100),0
- 1455 FOR M=1 TO 50:NEXT M
- 1460 NEXT Q
- 1465 FOR H=137 TO 105 STEP -1
- 1470 LINE(160,100)-(H,50),0
- 1475 LINE(160,100)-(H,50),3
- 1480 LINE(160,100)-(137,50),0
- 1485 FOR M=1 TO 50:NEXT M
- 1490 NEXT H
- 1495 LINE(160,100)-(105,50),0
- 1500 GOSUB 30000 '*** Textpad ***
- 1505 PRINT FNCEN$("Press <C> to continue.",40)
- 1510 A$=INKEY$:IF A$="" GOTO 1510
- 1515 IF A$="C" OR A$="c" GOTO 1525
- 1520 GOTO 1500
- 1525 GOSUB 30000 '** Textpad **
- 1530 PRINT FNCEN$("Our next fold takes this corner",40)
- 1535 FOR K=1 TO 750:NEXT K
- 1540 FOR K=1 TO 15
- 1545 PSET(160,178):DRAW"g5r4d7r2u7r4h5"
- 1550 PAINT(160,184)
- 1555 FOR M=1 TO 25:NEXT M
- 1560 CIRCLE(160,184),7,0
- 1565 PAINT(160,184),0
- 1570 NEXT K
- 1575 LINE(160,170)-(166,165),0
- 1580 LINE-(160,160),0
- 1585 LINE-(154,165),0
- 1590 LINE-(160,170),0
- 1595 PAINT(160,165),0
- 1600 LINE(160,170)-(166,165)
- 1605 LINE-(160,160)
- 1610 LINE-(154,165)
- 1615 LINE-(160,170)
- 1620 LINE(154,165)-(166,165)
- 1625 FOR K=1 TO 750:NEXT K
- 1630 GOSUB 30000 '** Textpad **
- 1635 PRINT FNCEN$("up to this center point of HELMET",40)
- 1640 FOR K=1 TO 1500:NEXT K
- 1645 CIRCLE(160,184),7,0
- 1650 PAINT(160,184),0
- 1655 PAINT(160,163)
- 1660 PAINT(160,168)
- 1665 '*** flashdot ***
- 1670 FOR K=1 TO 15
- 1675 CIRCLE(160,65),5,3
- 1680 LINE(158,65)-(162,65),3
- 1685 LINE(160,63)-(160,67),3
- 1690 FOR M=1 TO 25:NEXT M
- 1695 CIRCLE(160,65),5,0
- 1700 LINE(158,65)-(162,65),0
- 1705 LINE(160,63)-(160,67),0
- 1710 NEXT K
- 1715 CIRCLE(160,65),5,3
- 1720 PAINT(160,65),3
- 1725 LINE(160,50)-(160,80),0
- 1730 FOR K=1 TO 750:NEXT K
- 1735 '*** end flashdot ***
- 1740 GOSUB 30000 '** Textpad **
- 1745 PRINT FNCEN$("across this line.",40)
- 1750 FOR K=1 TO 750:NEXT K
- 1755 FOR H=97 TO 223 STEP 2
- 1760 PSET(H,115),0
- 1765 NEXT H
- 1770 FOR K=1 TO 750:NEXT K
- 1775 FOR V=170 TO 115 STEP -1
- 1780 LINE(97,115)-(160,V),0
- 1785 LINE-(223,115),0
- 1790 PSET(157,168),0:PSET(163,168),0
- 1795 LINE(80,100)-(160,170)
- 1800 LINE-(240,100)
- 1805 NEXT V
- 1810 FOR V=115 TO 65 STEP -1
- 1815 LINE(97,115)-(160,V),0
- 1820 LINE-(223,115),0
- 1825 LINE(97,115)-(223,115)
- 1830 NEXT V
- 1835 GOSUB 30000 '*** Textpad ***
- 1840 PRINT FNCEN$("Press <C> to continue.",40)
- 1845 A$=INKEY$:IF A$="" GOTO 1845
- 1850 IF A$="C" OR A$="c" GOTO 1860
- 1855 GOTO 1835
- 1860 GOSUB 30000 '** Textpad **
- 1865 PRINT FNCEN$("We next take this edge",40)
- 1870 FOR K=1 TO 750:NEXT K
- 1875 PSET(160,123):DRAW"g5r4d7r2u7r4h5"
- 1880 PAINT(160,129)
- 1885 FOR K=1 TO 250:NEXT K
- 1890 FOR K=1 TO 15
- 1895 LINE(97,115)-(223,115),0
- 1900 FOR M=1 TO 25:NEXT M
- 1905 LINE(97,115)-(223,115),3
- 1910 NEXT K
- 1915 CIRCLE(160,129),7,0
- 1920 PAINT(160,129),0
- 1925 FOR K=1 TO 750:NEXT K
- 1930 GOSUB 30000 '** Textpad **
- 1935 PRINT FNCEN$("over this line,",40)
- 1940 FOR K=1 TO 750:NEXT K
- 1945 FOR H=115 TO 205 STEP 2
- 1950 PSET(H,100),3
- 1955 NEXT H
- 1960 FOR K=1 TO 750:NEXT K
- 1965 GOSUB 30000 '** Textpad **
- 1970 PRINT FNCEN$("SO!",40)
- 1975 FOR K=1 TO 750:NEXT K
- 1980 FOR V=115 TO 100 STEP -1
- 1985 LINE(80,100)-(97,V),3
- 1990 LINE-(223,V),3
- 1995 LINE-(240,100),3
- 2000 LINE(80,100)-(97,V),0
- 2005 LINE-(223,V),0
- 2010 LINE-(240,100),0
- 2015 LINE(80,100)-(160,170)
- 2020 LINE-(240,100)
- 2025 FOR M=1 TO 50:NEXT M
- 2030 NEXT V
- 2035 FOR V=100 TO 85 STEP -1
- 2040 LINE(80,100)-(97,V),3
- 2045 LINE-(223,V),3
- 2050 LINE-(240,100),3
- 2055 LINE(80,100)-(97,V),0
- 2060 LINE-(223,V),0
- 2065 LINE-(240,100),0
- 2070 LINE(98,84)-(80,100)
- 2075 LINE-(240,100)
- 2080 LINE-(222,84)
- 2085 FOR M=1 TO 50:NEXT M
- 2090 NEXT V
- 2095 LINE(98,84)-(222,84)
- 2100 GOSUB 30000 '*** Textpad ***
- 2105 PRINT FNCEN$("Press <C> to continue.",40)
- 2110 A$=INKEY$:IF A$="" GOTO 2110
- 2115 IF A$="C" OR A$="c" GOTO 2125
- 2120 GOTO 2100
- 2125 GOSUB 30000 '** Textpad **
- 2130 PRINT FNCEN$("Our final fold takes this corner",40)
- 2135 FOR K=1 TO 750:NEXT K
- 2140 FOR K=1 TO 15
- 2145 PSET(160,178):DRAW"g5r4d7r2u7r4h5"
- 2150 PAINT(160,184)
- 2155 FOR M=1 TO 25:NEXT M
- 2160 CIRCLE(160,184),7,0
- 2165 PAINT(160,184),0
- 2170 NEXT K
- 2175 FOR K=1 TO 750:NEXT K
- 2180 GOSUB 30000 '** Textpad **
- 2185 PRINT FNCEN$("up to this corner",40)
- 2190 FOR K=1 TO 750:NEXT K
- 2195 '*** arrow down ***
- 2200 FOR K=1 TO 15
- 2205 PSET(160,22):DRAW"E5L4U7L2D7L4F5"
- 2210 PAINT(160,16)
- 2215 FOR M=1 TO 25:NEXT M
- 2220 CIRCLE(160,16),7,0
- 2225 PAINT(160,16),0
- 2230 NEXT K
- 2235 '***end arrow down ***
- 2240 FOR K=1 TO 750:NEXT K
- 2245 GOSUB 30000 '** Textpad **
- 2250 PRINT FNCEN$("on the hidden side,",40)
- 2255 FOR K=1 TO 1500:NEXT K
- 2260 GOSUB 30000 '** Textpad **
- 2265 PRINT FNCEN$("THUS!",40)
- 2270 FOR K=1 TO 750:NEXT K
- 2275 FOR V=170 TO 100 STEP -1
- 2280 LINE(80,100)-(160,V),3
- 2285 LINE-(240,100),3
- 2290 LINE(80,100)-(160,V),0
- 2295 LINE-(240,100),0
- 2300 PSET(157,168),0:PSET(163,168),0
- 2305 NEXT V
- 2310 LINE(80,100)-(240,100)
- 2315 FOR V=100 TO 85 STEP -1
- 2320 LINE(80,100)-(160,V),1
- 2325 LINE-(240,100),1
- 2330 LINE(80,100)-(160,V),0
- 2335 LINE-(240,100),0
- 2340 LINE(80,100)-(240,100)
- 2345 NEXT V
- 2350 LINE(82,99)-(98,85),1
- 2355 LINE(238,99)-(222,85),1
- 2360 FOR V=64 TO 30 STEP -1
- 2365 LINE(98,84)-(160,V),1
- 2370 LINE-(222,84),1
- 2375 LINE(98,84)-(160,V),3
- 2380 LINE-(222,84),3
- 2385 LINE(160,65)-(137,83),0
- 2390 LINE-(183,83),0
- 2395 PAINT(160,82),0
- 2400 LINE(130,84)-(190,84),3
- 2405 LINE(105,50)-(139,81),0
- 2410 LINE(215,50)-(181,81),0
- 2415 LINE(148,74)-(137,50),0
- 2420 LINE(172,74)-(183,50),0
- 2425 LINE(160,30)-(160,65),0
- 2430 NEXT V
- 2435 LINE(98,85)-(160,31),1
- 2440 LINE-(222,85),1
- 2445 FOR K=1 TO 750:NEXT K
- 2450 GOSUB 30000 '** Textpad **
- 2455 PRINT FNCEN$("And there we have it!",40)
- 2460 FOR K=1 TO 1500:NEXT K
- 2465 LINE(82,99)-(160,31)
- 2470 LINE-(238,99)
- 2475 LINE(105,50)-(139,81),0
- 2480 LINE(215,50)-(181,81),0
- 2485 LINE(148,74)-(137,50),0
- 2490 LINE(172,74)-(183,50),0
- 2495 LINE(160,30)-(160,65),0
- 2500 GOSUB 30000 '** Textpad **
- 2505 PRINT FNCEN$("SAMURAI HELMET!",40)
- 2510 FOR K=1 TO 1500:NEXT K
- 2515 GOSUB 30000 '*** Textpad ***
- 2520 PRINT FNCEN$("Press <C> to continue.",40)
- 2525 A$=INKEY$:IF A$="" GOTO 2525
- 2530 IF A$="C" OR A$="c" GOTO 2540
- 2535 GOTO 2515
- 2540 GOSUB 30000 '** Textpad **
- 2545 PRINT FNCEN$("We now transform HELMET into GROUPER",40)
- 2550 FOR K=1 TO 1500:NEXT K
- 2555 GOSUB 30000 '** Textpad **
- 2560 PRINT FNCEN$("by squashing these corners",40)
- 2565 FOR K=1 TO 750:NEXT K
- 2570 PSET(248,100):DRAW"E5D4R7D2L7D4H5"
- 2575 PAINT(254,100)
- 2580 PSET(72,100):DRAW"H5D4L7D2R7D4E5"
- 2585 PAINT(66,100)
- 2590 FOR K=1 TO 750:NEXT K
- 2595 GOSUB 30000 '** Textpad **
- 2600 PRINT FNCEN$("together down to this point,",40)
- 2605 FOR K=1 TO 750:NEXT K
- 2610 '*** flashdot ***
- 2615 FOR K=1 TO 15
- 2620 CIRCLE(160,170),5,3
- 2625 LINE(158,170)-(162,170),3
- 2630 LINE(160,168)-(160,172),3
- 2635 FOR M=1 TO 25:NEXT M
- 2640 CIRCLE(160,170),5,0
- 2645 LINE(158,170)-(162,170),0
- 2650 LINE(160,168)-(160,172),0
- 2655 NEXT K
- 2660 FOR K=1 TO 750:NEXT K
- 2665 '*** end flashdot ***
- 2670 GOSUB 30000 '** Textpad **
- 2675 PRINT FNCEN$("thus effectively flattening HELMET out,",40)
- 2680 FOR K=1 TO 1500:NEXT K
- 2685 GOSUB 30000 '** Textpad **
- 2690 PRINT FNCEN$("SO!",40)
- 2695 FOR K=1 TO 750:NEXT K
- 2700 '***Zapsound***
- 2705 FOR A=0 TO 20
- 2710 OUT 66,A:OUT 66,A
- 2715 OUT 97,(INP(97) OR 3)
- 2720 NEXT A
- 2725 SOUND 37,0
- 2730 CLS
- 2735 '***End Zapsound***
- 2740 LINE(159,40)-(161,40)
- 2745 LINE-(162,100)
- 2750 LINE-(161,160)
- 2755 LINE-(159,160)
- 2760 LINE-(158,100)
- 2765 LINE-(159,40)
- 2770 FOR K=1 TO 750:NEXT K
- 2775 GOSUB 30000 '** Textpad **
- 2780 PRINT FNCEN$("Now, we want to work",40)
- 2785 FOR K=1 TO 1000:NEXT K
- 2790 PRINT FNCEN$("with this side of HELMET.",40)
- 2795 FOR K=1 TO 750:NEXT K
- 2800 '*** arrow left ***
- 2805 FOR K=1 TO 15
- 2810 PSET(170,100):DRAW"E5D4R7D2L7D4H5"
- 2815 PAINT(176,100)
- 2820 FOR M=1 TO 25:NEXT M
- 2825 CIRCLE(176,100),7,0
- 2830 PAINT(176,100),0
- 2835 NEXT K
- 2840 '***end arrow left ***
- 2845 GOSUB 30000 '** Textpad **
- 2850 PRINT FNCEN$("One moment, please.",40)
- 2855 FOR K=1 TO 750:NEXT K
- 2860 '***Zapsound***
- 2865 FOR A=0 TO 20
- 2870 OUT 66,A:OUT 66,A
- 2875 OUT 97,(INP(97) OR 3)
- 2880 NEXT A
- 2885 SOUND 37,0
- 2890 CLS
- 2895 FOR K=1 TO 250:NEXT K
- 2900 LINE(160,40)-(90,100)
- 2905 LINE-(160,160)
- 2910 LINE-(230,100)
- 2915 LINE-(160,40)
- 2920 LINE(111,81)-(160,130)
- 2925 LINE(160,101)-(160,160)
- 2930 LINE(160,40)-(160,79)
- 2935 LINE-(190,100)
- 2940 LINE-(160,100)
- 2945 LINE(160,40)-(160,80)
- 2950 LINE (120,74)-(120,90)
- 2955 PAINT(140,90)
- 2960 LINE(120,85)-(155,75),0
- 2965 LINE-(160,79),0
- 2970 LINE(131,101)-(160,101),0
- 2975 FOR K=1 TO 250:NEXT K
- 2980 GOSUB 30000 '** Textpad **
- 2985 PRINT FNCEN$("Well, well!",40)
- 2990 FOR K=1 TO 1000:NEXT K
- 2995 GOSUB 30000 '** Textpad **
- 3000 PRINT FNCEN$("Looks faintly like a fish",40)
- 3005 FOR K=1 TO 1500:NEXT K
- 3010 PRINT FNCEN$("without a tail.",40)
- 3015 FOR K=1 TO 1500:NEXT K
- 3020 GOSUB 30000 '** Textpad **
- 3025 PRINT FNCEN$("Let's give it a tail!",40)
- 3030 FOR K=1 TO 1500:NEXT K
- 3035 GOSUB 30000 '** Textpad **
- 3040 PRINT FNCEN$("We'll fold this corner",40)
- 3045 FOR K=1 TO 750:NEXT K
- 3050 '*** arrow left ***
- 3055 FOR K=1 TO 15
- 3060 PSET(238,100):DRAW"E5D4R7D2L7D4H5"
- 3065 PAINT(244,100)
- 3070 FOR M=1 TO 25:NEXT M
- 3075 CIRCLE(244,100),7,0
- 3080 PAINT(244,100),0
- 3085 NEXT K
- 3090 '***end arrow left ***
- 3095 FOR K=1 TO 750:NEXT K
- 3100 GOSUB 30000 '** Textpad **
- 3105 PRINT FNCEN$("across this line",40)
- 3110 FOR K=1 TO 750:NEXT K
- 3115 FOR V=84 TO 116 STEP 2
- 3120 PSET(211,V)
- 3125 NEXT V
- 3130 FOR K=1 TO 750:NEXT K
- 3135 FOR H=230 TO 211 STEP -1
- 3140 LINE(211,84)-(H,100)
- 3145 LINE-(211,116)
- 3150 LINE(211,84)-(H,100),0
- 3155 LINE-(211,116),0
- 3160 LINE(213,85)-(220,91),0
- 3165 LINE(213,115)-(220,109),0
- 3170 FOR M=1 TO 25:NEXT M
- 3175 NEXT H
- 3180 FOR H=211 TO 192 STEP -1
- 3185 LINE(211,84)-(H,100),3
- 3190 LINE-(211,116),3
- 3195 LINE(211,84)-(H,100),0
- 3200 LINE-(211,116),0
- 3205 LINE(211,84)-(211,116)
- 3210 FOR M=1 TO 25:NEXT M
- 3215 NEXT H
- 3220 LINE(211,84)-(192,100)
- 3225 LINE-(211,116)
- 3230 FOR K=1 TO 750:NEXT K
- 3235 FOR H=192 TO 211
- 3240 LINE(211,84)-(H,100),3
- 3245 LINE-(211,116),3
- 3250 LINE(211,84)-(H,100),0
- 3255 LINE-(211,116),0
- 3260 LINE(211,84)-(211,116)
- 3265 FOR M=1 TO 25:NEXT M
- 3270 NEXT H
- 3275 FOR H=211 TO 230
- 3280 LINE(211,84)-(H,100)
- 3285 LINE-(211,116)
- 3290 LINE(211,84)-(H,100),0
- 3295 LINE-(211,116),0
- 3300 LINE(213,85)-(220,91),0
- 3305 FOR V=84 TO 116 STEP 2
- 3310 PSET(211,V)
- 3315 NEXT V
- 3320 NEXT H
- 3325 LINE(211,84)-(230,100)
- 3330 LINE-(211,116)
- 3335 FOR K=1 TO 750:NEXT K
- 3340 GOSUB 30000 '** Textpad **
- 3345 PRINT FNCEN$("and BACKFOLD!",40)
- 3350 FOR K=1 TO 750:NEXT K
- 3355 FOR H=230 TO 211 STEP -1
- 3360 LINE(211,84)-(H,100)
- 3365 LINE-(211,116)
- 3370 LINE(211,84)-(H,100),0
- 3375 LINE-(211,116),0
- 3380 LINE(213,85)-(220,91),0
- 3385 LINE(213,115)-(220,109),0
- 3390 FOR M=1 TO 25:NEXT M
- 3395 NEXT H
- 3400 FOR H=211 TO 192 STEP -1
- 3405 LINE(211,84)-(H,100),1
- 3410 LINE-(211,116),1
- 3415 LINE(211,84)-(H,100),0
- 3420 LINE-(211,116),0
- 3425 LINE(211,84)-(211,116)
- 3430 FOR M=1 TO 25:NEXT M
- 3435 NEXT H
- 3440 LINE(211,84)-(192,100),1
- 3445 LINE-(211,116),1
- 3450 FOR K=1 TO 750:NEXT K
- 3455 FOR H=192 TO 211
- 3460 LINE(211,84)-(H,100),1
- 3465 LINE-(211,116),1
- 3470 LINE(211,84)-(H,100),0
- 3475 LINE-(211,116),0
- 3480 LINE(211,84)-(211,116)
- 3485 FOR M=1 TO 25:NEXT M
- 3490 NEXT H
- 3495 FOR H=211 TO 230
- 3500 LINE(211,84)-(H,100)
- 3505 LINE-(211,116)
- 3510 LINE(211,84)-(H,100),0
- 3515 LINE-(211,116),0
- 3520 LINE(213,85)-(220,91),0
- 3525 FOR V=84 TO 116 STEP 2
- 3530 PSET(211,V)
- 3535 NEXT V
- 3540 NEXT H
- 3545 LINE(211,84)-(230,100)
- 3550 LINE-(211,116)
- 3555 FOR K=1 TO 750:NEXT K
- 3560 GOSUB 30000 '*** Textpad ***
- 3565 PRINT FNCEN$("Press <C> to continue.",40)
- 3570 A$=INKEY$:IF A$="" GOTO 3570
- 3575 IF A$="C" OR A$="c" GOTO 3585
- 3580 GOTO 3560
- 3585 GOSUB 30000 '** Textpad **
- 3590 PRINT FNCEN$("With a pair of scissors or a penknife,",40)
- 3595 FOR K=1 TO 1500:NEXT K
- 3600 LINE(155,165)-(149,169)
- 3605 LINE-(145,175)
- 3610 LINE-(151,171)
- 3615 LINE-(155,165)
- 3620 CIRCLE(147,177),2
- 3625 CIRCLE(143,173),2
- 3630 LINE(155,35)-(151,29)
- 3635 LINE-(145,25)
- 3640 LINE-(149,31)
- 3645 LINE-(155,35)
- 3650 CIRCLE(143,27),2
- 3655 CIRCLE(147,23),2
- 3660 FOR K=1 TO 750:NEXT K
- 3665 GOSUB 30000 '** Textpad **
- 3670 CIRCLE(147,23),2
- 3675 PRINT FNCEN$("we cut along these lines",40)
- 3680 FOR K=1 TO 750:NEXT K
- 3685 PSET(164,43),0:PSET(164,157),0
- 3690 PSET(171,49),0:PSET(171,151),0
- 3695 PSET(178,55),0:PSET(178,145),0
- 3700 PSET(185,61),0:PSET(185,139),0
- 3705 PSET(192,67),0:PSET(192,133),0
- 3710 PSET(199,73),0:PSET(199,127),0
- 3715 PSET(206,79),0:PSET(206,121),0
- 3720 LINE(161,41)-(210,83)
- 3725 LINE(161,159)-(210,117)
- 3730 FOR Q=0 TO 49
- 3735 PSET(161+Q,41+0.857*Q),0
- 3740 PSET(161+Q,41+0.857*Q),2
- 3745 NEXT Q
- 3750 FOR Q=0 TO 49
- 3755 PSET(161+Q,159-0.857*Q),0
- 3760 PSET(161+Q,159-0.857*Q),2
- 3765 NEXT Q
- 3770 GOSUB 30000 '** Textpad **
- 3775 CIRCLE(147,23),2
- 3780 PRINT FNCEN$("and on the hidden side",40)
- 3785 FOR K=1 TO 750:NEXT K
- 3790 FOR Q=0 TO 49
- 3795 PSET(161+Q,158-0.857*Q),0
- 3800 PSET(161+Q,158-0.857*Q),1
- 3805 NEXT Q
- 3810 FOR K=1 TO 750:NEXT K
- 3815 LINE(140,20)-(155,35),0,BF
- 3820 LINE(140,164)-(155,180),0,BF
- 3825 FOR K=1 TO 250:NEXT K
- 3830 GOSUB 30000 '*** Textpad ***
- 3835 PRINT FNCEN$("Press <C> to continue.",40)
- 3840 A$=INKEY$:IF A$="" GOTO 3840
- 3845 IF A$="C" OR A$="c" GOTO 3855
- 3850 GOTO 3830
- 3855 GOSUB 30000 '** Textpad **
- 3860 PRINT FNCEN$("and unfold!",40)
- 3865 FOR K=1 TO 750:NEXT K
- 3870 FOR Q=0 TO 50
- 3875 LINE(161+Q,41)-(161+Q,159),3
- 3880 LINE(161+Q,41)-(161+Q,159),0
- 3885 LINE(161+Q,41+0.86*Q)-(161+Q,159-0.86*Q)
- 3890 LINE(155,75)-(191,101),0
- 3895 LINE-(131,101),0
- 3900 LINE(160,101)-(160,160),0
- 3905 NEXT Q
- 3910 FOR Q=0 TO 51
- 3915 LINE(211+Q,41)-(211+Q,159),3
- 3920 LINE(211+Q,41)-(211+Q,159),0
- 3925 LINE(211+Q,84-0.863*Q)-(211+Q,116+0.863*Q)
- 3930 LINE(211,84)-(211,116),0
- 3935 NEXT Q
- 3940 GOSUB 30000 '** Textpad **
- 3945 PRINT FNCEN$("and repeat on the hidden side.",40)
- 3950 FOR K=1 TO 750:NEXT K
- 3955 FOR Q=0 TO 50
- 3960 LINE(161+Q,41)-(161+Q,159),3
- 3965 LINE(161+Q,41)-(161+Q,159),0
- 3970 LINE(161+Q,41+0.86*Q)-(161+Q,159-0.86*Q),1
- 3975 LINE(161+Q,41+0.86*Q)-(161+Q,159-0.86*Q),3
- 3980 LINE(155,75)-(191,101),0
- 3985 LINE-(131,101),0
- 3990 LINE(160,101)-(160,160),0
- 3995 NEXT Q
- 4000 FOR Q=0 TO 51
- 4005 LINE(211+Q,41)-(211+Q,159),3
- 4010 LINE(211+Q,41)-(211+Q,159),0
- 4015 LINE(211+Q,84-0.863*Q)-(211+Q,116+0.863*Q),1
- 4020 LINE(211+Q,84-0.863*Q)-(211+Q,116+0.863*Q),3
- 4025 LINE(211,84)-(211,116),0
- 4030 NEXT Q
- 4035 IF A$="C" OR A$="c" GOTO 4065
- 4040 GOSUB 30000 '*** Textpad ***
- 4045 PRINT FNCEN$("Press <C> to continue.",40)
- 4050 A$=INKEY$:IF A$="" GOTO 4050
- 4055 IF A$="C" OR A$="c" GOTO 4065
- 4060 GOTO 4040
- 4065 GOSUB 30000 '** Textpad **
- 4070 PRINT FNCEN$("Now, we'll make our tail",40)
- 4075 FOR K=1 TO 1500:NEXT K
- 4080 GOSUB 30000 '** Textpad **
- 4085 PRINT FNCEN$("a little more tail-like",40)
- 4090 FOR K=1 TO 1500:NEXT K
- 4095 GOSUB 30000 '** Textpad **
- 4100 PRINT FNCEN$("with some judicious cutting away,",40)
- 4105 FOR K=1 TO 1500:NEXT K
- 4110 GOSUB 30000 '** Textpad **
- 4115 PRINT FNCEN$("SO!",40)
- 4120 FOR K=1 TO 750:NEXT K
- 4125 LINE(262,40)-(240,100),0
- 4130 LINE-(262,160),0
- 4135 PAINT(250,100),0
- 4140 FOR K=1 TO 750:NEXT K
- 4145 GOSUB 30000 '*** Textpad ***
- 4150 PRINT FNCEN$("Press <C> to continue.",40)
- 4155 A$=INKEY$:IF A$="" GOTO 4155
- 4160 IF A$="C" OR A$="c" GOTO 4170
- 4165 GOTO 4145
- 4170 GOSUB 30000 '** Textpad **
- 4175 PRINT FNCEN$("Now we'll give GROUPER a flatter belly",40)
- 4180 FOR K=1 TO 1500:NEXT K
- 4185 GOSUB 30000 '** Textpad **
- 4190 PRINT FNCEN$("by folding both these corners",40)
- 4195 FOR K=1 TO 750:NEXT K
- 4200 LINE(160,150)-(165,155),0
- 4205 LINE-(160,160),0
- 4210 LINE-(160,150),0
- 4215 PAINT(162,155),0
- 4220 LINE(160,150)-(165,155)
- 4225 LINE-(160,160)
- 4230 LINE-(155,155)
- 4235 LINE-(160,150)
- 4240 'LINE-(160,160)
- 4245 LINE(155,155)-(165,155)
- 4250 '*** arrow up ***
- 4255 FOR K=1 TO 15
- 4260 PSET(160,168):DRAW"g5r4d7r2u7r4h5"
- 4265 PAINT(160,174)
- 4270 FOR M=1 TO 25:NEXT M
- 4275 CIRCLE(160,174),7,0
- 4280 PAINT(160,174),0
- 4285 NEXT K
- 4290 FOR K=1 TO 750:NEXT K
- 4295 GOSUB 30000 '** Textpad **
- 4300 PRINT FNCEN$("up over this line",40)
- 4305 FOR K=1 TO 750:NEXT K
- 4310 FOR H=126 TO 161 STEP 2
- 4315 PSET(H,131)
- 4320 NEXT H
- 4325 FOR H=161 TO 195 STEP 2
- 4330 PSET(H,131),0
- 4335 NEXT H
- 4340 FOR K=1 TO 750:NEXT K
- 4345 GOSUB 30000 '** Textpad **
- 4350 PRINT FNCEN$("on both the seen and hidden sides,",40)
- 4355 FOR K=1 TO 1500:NEXT K
- 4360 GOSUB 30000 '** Textpad **
- 4365 PRINT FNCEN$("SO!",40)
- 4370 FOR K=1 TO 750:NEXT K
- 4375 LINE(165,155)-(155,155),0
- 4380 LINE-(160,150),0
- 4385 LINE-(161,159)
- 4390 PAINT(163,155)
- 4395 LINE(160,150)-(160,159),0
- 4400 FOR V=160 TO 131 STEP -1
- 4405 LINE(126,131)-(160,V),3
- 4410 LINE-(194,131),0
- 4415 LINE(126,131)-(160,V),0
- 4420 PSET(160,V)
- 4425 LINE(126,131)-(160,160)
- 4430 LINE-(194,131)
- 4435 NEXT V
- 4440 FOR V=131 TO 102 STEP -1
- 4445 LINE(126,131)-(160,V),3
- 4450 LINE(126,131)-(160,V),0
- 4455 LINE-(194,131),0
- 4460 PSET(160,V)
- 4465 LINE(126,131)-(194,131)
- 4470 NEXT V
- 4475 LINE(126,131)-(160,102)
- 4480 FOR K=1 TO 750:NEXT K
- 4485 FOR V=160 TO 131 STEP -1
- 4490 LINE(126,131)-(160,V),3
- 4495 LINE-(194,131),3
- 4500 LINE(126,131)-(160,V),0
- 4505 LINE-(194,131),0
- 4510 NEXT V
- 4515 FOR V=131 TO 102 STEP -1
- 4520 LINE(127,131)-(160,V),1
- 4525 LINE-(193,131),1
- 4530 LINE(127,131)-(160,V),0
- 4535 LINE-(193,131),0
- 4540 PSET(160,V)
- 4545 LINE(126,131)-(194,131)
- 4550 NEXT V
- 4555 LINE(126,131)-(160,102)
- 4560 FOR K=1 TO 750:NEXT K
- 4565 GOSUB 30000 '*** Textpad ***
- 4570 PRINT FNCEN$("Press <C> to continue.",40)
- 4575 A$=INKEY$:IF A$="" GOTO 4575
- 4580 IF A$="C" OR A$="c" GOTO 4590
- 4585 GOTO 4565
- 4590 GOSUB 30000 '** Textpad **
- 4595 PRINT FNCEN$("And now we tuck those flaps",40)
- 4600 FOR K=1 TO 1500:NEXT K
- 4605 GOSUB 30000 '** Textpad **
- 4610 PRINT FNCEN$("into GROUPER's tummy",40)
- 4615 FOR K=1 TO 750:NEXT K
- 4620 LINE(90,100)-(120,135)
- 4625 LINE-(200,135)
- 4630 LINE-(211,116)
- 4635 FOR K=1 TO 15
- 4640 PSET(160,143):DRAW"g5r4d7r2u7r4h5"
- 4645 PAINT(160,149)
- 4650 FOR M=1 TO 25:NEXT M
- 4655 CIRCLE(160,149),7,0
- 4660 PAINT(160,149),0
- 4665 NEXT K
- 4670 FOR K=1 TO 750:NEXT K
- 4675 GOSUB 30000 '** Textpad **
- 4680 PRINT FNCEN$("like SO!",40)
- 4685 FOR K=1 TO 750:NEXT K
- 4690 FOR A=0 TO 20
- 4695 OUT 66,A:OUT 66,A
- 4700 OUT 97,(INP(97) OR 3)
- 4705 NEXT A
- 4710 SOUND 37,0
- 4715 FOR K=1 TO 250:NEXT K
- 4720 LINE(90,100)-(120,135),0
- 4725 LINE-(200,135),0
- 4730 LINE-(211,116),0
- 4735 LINE(90,100)-(126,131)
- 4740 LINE(160,101)-(160,130),0
- 4745 LINE(127,130)-(160,102),0
- 4750 LINE(130,100)-(160,130)
- 4755 PAINT(160,110)
- 4760 LINE(130,100)-(188,100),0
- 4765 PSET(130,128),0:PSET(143,117),0
- 4770 GOSUB 30000 '** Textpad **
- 4775 PRINT FNCEN$("And there we have it!",40)
- 4780 FOR K=1 TO 1500:NEXT K
- 4785 GOSUB 30000 '** Textpad **
- 4790 PRINT FNCEN$("GROUPER",40)
- 4795 FOR K=1 TO 1500:NEXT K
- 4800 PRINT FNCEN$("A Deep-Sea Fish",40)
- 4805 FOR K=1 TO 1500:NEXT K
- 4810 GOSUB 30000 '*** Textpad ***
- 4815 PRINT" Press <1> - To return to MAIN MENU."
- 4820 PRINT " <2> - To repeat HELMET/GROUPER."
- 4825 PRINT " <3> - To exit from program."
- 4830 E$=INPUT$(1)
- 4835 IF E$<"1" OR E$>"3" GOTO 4830
- 4840 SEL=VAL(E$)
- 4845 COMMON SEL
- 4850 CLS
- 4855 LOCATE 13,1:PRINT FNCEN$("One moment, please.",40)
- 4856 LINE(70,75)-(250,125),3,B
- 4860 ON SEL GOTO 4865,4870,4875
- 4865 CHAIN"a:main"
- 4870 CHAIN"a:helmet
- 4875 CHAIN"a:end"
- 10080 END
- 30000 LOCATE 1,1
- 30010 PRINT" "
- 30020 LOCATE 1,1:RETURN
- 30030 GOSUB 30000 '** Textpad **
- 30040 PRINT FNCEN$("N",40)
- 30050 FOR K=1 TO 1500:NEXT K
-